const express = require("express");
const router = express.Router();
const authMiddleware = require("../middleware/authMiddleware"); // 引入 Token 验证中间件
const alarmRecordController = require("../controllers/alarmRecordControllers"); // 引入报警记录控制器

/**
 * 处理 GET /alarms 请求，获取所有报警记录。
 *
 * @route GET /alarms
 * @group 报警记录管理 - 报警记录相关操作
 * @returns {Array} 200 - 返回报警记录列表
 * @returns {Error} 500 - 服务器内部错误
 */
router.get("/all", alarmRecordController.getAllAlarmRecords); // 不需要 Token 验证

/**
 * 处理 GET /alarms/:id 请求，根据 ID 获取单个报警记录。
 *
 * @route GET /alarms/:id
 * @group 报警记录管理 - 报警记录相关操作
 * @returns {Object} 200 - 返回报警记录详情
 * @returns {Error} 404 - 报警记录未找到
 * @returns {Error} 500 - 服务器内部错误
 */
router.get("/:id", alarmRecordController.getAlarmRecordById); // 不需要 Token 验证

/**
 * 处理 POST /alarms 请求，创建新的报警记录。
 *
 * @route POST /alarms
 * @group 报警记录管理 - 报警记录相关操作
 * @returns {Object} 201 - 返回创建的报警记录
 * @returns {Error} 400 - 请求参数错误
 * @returns {Error} 500 - 服务器内部错误
 */
router.post("/add", alarmRecordController.createAlarmRecord); // 需要 Token 验证

/**
 * 处理 PUT /alarms/:id 请求，更新指定 ID 的报警记录。
 *
 * @route PUT /alarms/:id
 * @group 报警记录管理 - 报警记录相关操作
 * @returns {Object} 200 - 返回更新后的报警记录
 * @returns {Error} 400 - 请求参数错误
 * @returns {Error} 404 - 报警记录未找到
 * @returns {Error} 500 - 服务器内部错误
 */
router.put("/:id", alarmRecordController.updateAlarmRecord); // 需要 Token 验证

/**
 * 处理 DELETE /alarms/:id 请求，删除指定 ID 的报警记录。
 *
 * @route DELETE /alarms/:id
 * @group 报警记录管理 - 报警记录相关操作
 * @returns {Object} 200 - 删除成功，返回成功消息
 * @returns {Error} 404 - 报警记录未找到
 * @returns {Error} 500 - 服务器内部错误
 */
router.delete("/:id", alarmRecordController.delAlarmRecordById); // 需要 Token 验证

module.exports = router;
